package com.lik.javadeep;

import com.google.common.collect.Lists;
import com.google.common.collect.MapDifference;
import com.google.common.collect.Maps;
import lombok.extern.slf4j.Slf4j;

import java.util.ArrayList;
import java.util.HashMap;
import java.util.LinkedList;
import java.util.List;

@Slf4j
public class LinkedListTest {
    public static void main(String[] args) {
        // LinkedList linkedList = new LinkedList();
        //
        // // linkedList.add(1);
        // // System.out.println(linkedList.size());
        //
        // HashMap<Object, Object> map = new HashMap<>(1);
        // for (int i = 0; i < 10; i++) {
        //     map.putIfAbsent("" + i, "value" + i);
        // }

        // HashMap<String, Object> left = new HashMap<>();
        // left.put("1", "1");
        // left.put("3", "3");
        // left.put("5", "555");
        // left.put("6", "");
        // left.put("8", "left");
        //
        // HashMap<String, Object> right = new HashMap<>();
        // right.put("2", "2");
        // right.put("4", "4");
        // right.put("5", "555");
        // right.put("7", "7");
        // right.put("8", "right");
        //
        // MapDifference<String, Object> difference = Maps.difference(left, right);
        // log.info("左边 map 独有 key：{}",difference.entriesOnlyOnLeft());
        // log.info("右边 map 独有 key：{}",difference.entriesOnlyOnRight());
        // log.info("左右边 map 都有 key，并且 value 相等：{}",difference.entriesInCommon());
        // log.info("左右边 map 都有 key，但 value 不等：{}",difference.entriesDiffering());

        testReverse();

        // Maps.newHashMapWithExpectedSize()
    }
    // 演示反转排序
    public static void testReverse(){
        List<String> list = new LinkedList<String>(){{
            add("10");
            add("20");
            add("30");
            add("40");
        }};

        log.info(list.getClass().getName());
        log.info("反转之前："+list);
        list = Lists.reverse(list);
        log.info("反转之后："+list);
        log.info(list.getClass().getName());

    }


}
